package com.seeyon.apps.lzmzj.kit;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class MessageKit {

    public static String msg(String code, String key, Object obj, String message) {

        // 创建一个Map对象，用于存储键值对数据
        Map<String, Object> map = new HashMap<String, Object>();

        // 向map中添加一个键值对，键为"code"，值为code
        map.put("type", code);

        if (!"".equals(key)) {
            // 向map中添加一个键值对，键为"data"，值为dataMap
            map.put(key, obj);
        }

        // 向map中添加一个键值对，键为"message"，值为message
        map.put("msg", message);

        // 将map对象转换为JSON格式的字符串并返回
        return JSON.toJSONString(map);

    }

    /**
     * 生成bpm消息
     *
     * @param data 字符串类型的数据
     * @return 返回生成的bpm消息
     */
    public static String bpmMessage(String data, String serialNumber) {
        // 将输入的字符串解析为JSON对象
        JSONObject resultObj = JSONObject.parseObject(data);
        // 获取code字段的值
        String code = StrKit.str(resultObj.get("code"));

        String summaryId = "";
        String message = "";
        // 创建一个HashMap用于存储结果数据
        Map<String, Object> map = new HashMap<String, Object>();
        // 如果code字段的值为"0"
        if ("0".equals(code)) {
            // 获取summaryId字段的值
            summaryId = StrKit.str(resultObj.getJSONObject("data").getJSONObject("app_bussiness_data").get("summaryId"));
            // 设置code字段的值为"S"
            map.put("code", "S");
            map.put("message", "成功");
        } else {
            // 设置code字段的值为"E"
            map.put("code", "E");
            // 获取message字段的值
            String msg = StrKit.str(resultObj.get("message"));
            // 将message字段的值赋给message变量
            message = msg;
        }
        // 将summaryId字段的值赋给map的data字段
        map.put("dataId", summaryId);
        if (!"".equals(serialNumber)) {
            map.put("serialNumber", serialNumber);
        }
        // 将message字段的值赋给map的message字段
        map.put("message", message);
        // 将map对象转换为JSON字符串并返回
        return JSON.toJSONString(map);
    }


}
